﻿using System;
using Mono.Cecil.Metadata;

namespace Mono.Cecil
{
	// Token: 0x020000C1 RID: 193
	public sealed class ByReferenceType : TypeSpecification
	{
		// Token: 0x17000229 RID: 553
		// (get) Token: 0x060007F2 RID: 2034 RVA: 0x00023F58 File Offset: 0x00022158
		public override string Name
		{
			get
			{
				return base.Name + "&";
			}
		}

		// Token: 0x1700022A RID: 554
		// (get) Token: 0x060007F3 RID: 2035 RVA: 0x00023F7C File Offset: 0x0002217C
		public override string FullName
		{
			get
			{
				return base.FullName + "&";
			}
		}

		// Token: 0x1700022B RID: 555
		// (get) Token: 0x060007F4 RID: 2036 RVA: 0x00009C40 File Offset: 0x00007E40
		// (set) Token: 0x060007F5 RID: 2037 RVA: 0x00002AA0 File Offset: 0x00000CA0
		public override bool IsValueType
		{
			get
			{
				return false;
			}
			set
			{
				throw new InvalidOperationException();
			}
		}

		// Token: 0x1700022C RID: 556
		// (get) Token: 0x060007F6 RID: 2038 RVA: 0x0000A3A0 File Offset: 0x000085A0
		public override bool IsByReference
		{
			get
			{
				return true;
			}
		}

		// Token: 0x060007F7 RID: 2039 RVA: 0x00004E1F File Offset: 0x0000301F
		public ByReferenceType(TypeReference type) : base(type)
		{
			Mixin.CheckType(type);
			this.etype = Mono.Cecil.Metadata.ElementType.ByRef;
		}
	}
}
